home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / Libraries / DCLAP 6d / dclap6d / DBio.more / old / USeqGopher.p < prev    next >
Text File  |  1996-07-05  |  8KB  |  240 lines

  1. { USeqGopher.p }
  2. { copyright by d.g.gilbert, 1992 for SeqApp }
  3.  
  4.  
  5. UNIT USeqGopher;
  6.  
  7. INTERFACE
  8.  
  9. USES
  10.     Types, Memory, QuickDraw, ToolUtils, OSUtils, Resources, Packages, 
  11.     Files, Printing, TextEdit,
  12.     Controls, Aliases, Editions, Events, Notification, 
  13.     AppleEvents, Processes, Balloons, 
  14.     GestaltEqu, Fonts, Scrap,
  15.     
  16.     MacAppTypes, UPascalObject, UObject, 
  17.     UEventHandler, UList, UAdorners, UStream, UGeometry,
  18.     UEvent, UCommand, UCommandHandler,
  19.     UView,  UBehavior, UTEView, UTECommands,
  20.     UMacAppUtilities, UPatch, UFailure, UMacAppGlobals,
  21.     
  22.     UFile, UApplication,
  23.     UPrintHandler, UPrinting,
  24.     UWindow, UMenuMgr, UMemory, UErrorMgr,
  25.     
  26.     UControl, UDialog, UPopup, UScroller,
  27.     UDocument, UFileHandler, UFileBasedDocument,
  28.     UViewServer, UGridView, UClipboardMgr,
  29.     
  30.     {$U $$Shell(UStd)UStandard.p } UStandard, 
  31.     {$U $$Shell(UStd)UApp.p } UApp, 
  32.     {$U $$Shell(UText)UTextDoc.p } UTextDoc,
  33.     {$U $$Shell(UTCP)UTCP.p } UTCP, 
  34.     {$U $$Shell(UTCP)UGopher.p } UGopher,
  35.     
  36.     UGridStuff;
  37.  
  38.  
  39. CONST    
  40.         kGopherFileType    = 'IGo4';
  41.         kGopherFileName    = 'Seqapp.Gopher'; { default...}
  42.         
  43. TYPE
  44.  
  45.     TGopherView            = OBJECT (TGridView)
  46.         fGopherList    : TGopherList;         
  47.         fRowHeight    : integer;
  48.         fLocked            : Boolean;        {edits disallowed ?}
  49.         
  50.         PROCEDURE TGopherView.IGopherView( aGopherList: TGopherList);
  51.         PROCEDURE TGopherView.Free; OVERRIDE;
  52.  
  53.         PROCEDURE TGopherView.UpdateWidth( aGopher: TGopher);
  54.         PROCEDURE TGopherView.UpdateAllWidths;
  55.         PROCEDURE TGopherView.UpdateSize;
  56.         PROCEDURE TGopherView.AddToGopherList( aGopher: TGopher);
  57.         FUNCTION  TGopherView.GopherAt( aRow: integer): TGopher;  
  58.         PROCEDURE TGopherView.EachSelectedRowDo( PROCEDURE DoToRow( aRow: Integer)); 
  59.         
  60.         PROCEDURE TGopherView.DrawContents; OVERRIDE;
  61.         PROCEDURE TGopherView.DrawRangeOfCells(startCell, stopCell: GridCell; aRect: VRect); 
  62.                     OVERRIDE;  
  63.         PROCEDURE TGopherView.DrawCell(aCell: GridCell; aRect: VRect);     OVERRIDE;
  64.                     
  65.         FUNCTION  TGopherView.ContainsClipType(aType: ResType): BOOLEAN; OVERRIDE;
  66.         PROCEDURE TGopherView.WriteToDeskScrap; OVERRIDE;
  67.         
  68.         PROCEDURE  TGopherView.DoMouseCommand(VAR theMouse: VPoint; event: TToolboxEvent;
  69.                                                hysteresis: Point); OVERRIDE;
  70.         FUNCTION  TGopherView.HandleMouseDown( theMouse: VPoint; event: TToolboxEvent; 
  71.                              hysteresis: Point):BOOLEAN; OVERRIDE;
  72.  
  73.         END;
  74.         
  75.         
  76.     TGopherWindow    = OBJECT (TPrefWindow)
  77.         fGopherView    : TGopherView; 
  78.         
  79.         PROCEDURE TGopherWindow.IGopherWindow;
  80.         PROCEDURE TGopherWindow.DoEvent(eventNumber: EventNumber; 
  81.                                             source: TEventHandler; event: TEvent); OVERRIDE; 
  82.         FUNCTION  TGopherWindow.HandleMouseDown( theMouse: VPoint; event: TToolboxEvent; 
  83.                              hysteresis: Point):BOOLEAN; OVERRIDE;
  84.         PROCEDURE TGopherWindow.SetPrefID; OVERRIDE; 
  85.         END;
  86.  
  87.  
  88.     TGopherDocument = OBJECT (TFileBasedDocument)
  89.         fStatus            : TStaticText;
  90.         fDropBut        : TIcon;
  91.         fGopherList    : TGopherList;
  92.         fParentList    : TGopherList;
  93.         fGopherView    : TGopherView;     
  94.         fLongTitle    : StringHandle;
  95.         fParentPopup: TPopup;    
  96.         
  97.         PROCEDURE TGopherDocument.IGopherDocument( linkData: Handle; title: StringHandle; 
  98.                                                              parentMenu: TGopher; itsFile: TFile);
  99.         PROCEDURE TGopherDocument.Free; OVERRIDE;
  100.         PROCEDURE TGopherDocument.FreeData; OVERRIDE; 
  101.         PROCEDURE TGopherDocument.PushMenu( linkData: Handle; title: StringHandle; 
  102.                                                                              parentMenu: TGopher);
  103.         PROCEDURE TGopherDocument.PopMenu( uplevels: integer);
  104.         PROCEDURE TGopherDocument.DoGopher( aGopher: TGopher);
  105.         PROCEDURE TGopherDocument.UpdateStatus;
  106.         PROCEDURE TGopherDocument.ShowParentMenu;
  107.         PROCEDURE TGopherDocument.HideParentMenu;
  108.         PROCEDURE TGopherDocument.SetMenuName( newName: str255);
  109.  
  110.         PROCEDURE TGopherDocument.DoInitialState; OVERRIDE;
  111.         PROCEDURE TGopherDocument.DoMakeViews(forPrinting: BOOLEAN); OVERRIDE;
  112.         PROCEDURE TGopherDocument.ShowReverted; OVERRIDE;
  113.         PROCEDURE TGopherDocument.DoEvent(eventNumber: EventNumber; 
  114.                                             source: TEventHandler; event: TEvent); OVERRIDE;
  115.         PROCEDURE TGopherDocument.UntitledName(VAR noName: Str255); OVERRIDE;            
  116.  
  117.         PROCEDURE TGopherDocument.DoNeedDiskSpace(itsFile: TFile;
  118.                                                             VAR dataForkBytes, rsrcForkBytes: LONGINT); OVERRIDE;
  119.         PROCEDURE TGopherDocument.DoRead( aFile:TFile; forPrinting: BOOLEAN); OVERRIDE;
  120.         PROCEDURE TGopherDocument.DoWrite( aFile:TFile; makingCopy: BOOLEAN); OVERRIDE;
  121.  
  122.         PROCEDURE TGopherDocument.DoMenuCommand(aCommandNumber: CommandNumber); OVERRIDE;
  123.         PROCEDURE TGopherDocument.DoSetupMenus; OVERRIDE;
  124.  
  125.         END;
  126.  
  127.  
  128.     TGopherEditCommand    = OBJECT (TCommand)
  129.             { handles the cCopy, cCut, and cClear commands for TGopherView selections. }
  130.         fGopherDoc    : TGopherDocument;
  131.         fOldList        : TGopherList;            { save orig List (not List) for Undo/Redo...}
  132.         fSelection    : RgnHandle;            { List selected when command was created }
  133.  
  134.         PROCEDURE TGopherEditCommand.IGopherEditCommand(itsDocument: TGopherDocument; itsCommand: INTEGER);
  135.         PROCEDURE TGopherEditCommand.Free; OVERRIDE;
  136.         PROCEDURE TGopherEditCommand.DoIt; OVERRIDE;
  137.         PROCEDURE TGopherEditCommand.UndoIt; OVERRIDE;
  138.         PROCEDURE TGopherEditCommand.RedoIt; OVERRIDE;
  139.         PROCEDURE TGopherEditCommand.Commit; OVERRIDE;
  140.         PROCEDURE TGopherEditCommand.CopySelection;
  141.             { Copy the currently selected List into the clipboard }
  142.         PROCEDURE TGopherEditCommand.DeleteSelection;
  143.             { Delete the currently selected seq(s) }
  144.         PROCEDURE TGopherEditCommand.RestoreSelection;
  145.             { Restore the deleted List }
  146.         PROCEDURE TGopherEditCommand.ReSelect;
  147.             { Change the selection back to what it was when this command was created }
  148.         END;                 
  149.  
  150.     TGopherPasteCommand    = OBJECT (TCommand)
  151.         fClipList            : TGopherList;
  152.         fGopherDoc        : TGopherDocument;
  153.         fSelection        : RgnHandle;     { gophers selected when command was created }
  154.         fReplacedList    : TGopherList;        { the gophers we pasted over }
  155.  
  156.         PROCEDURE TGopherPasteCommand.IGopherPasteCommand(itsDocument: TGopherDocument);
  157.         PROCEDURE TGopherPasteCommand.Free; OVERRIDE;
  158.         PROCEDURE TGopherPasteCommand.DoIt; OVERRIDE;
  159.         PROCEDURE TGopherPasteCommand.UndoIt; OVERRIDE;
  160.         PROCEDURE TGopherPasteCommand.RedoIt; OVERRIDE;
  161.         PROCEDURE TGopherPasteCommand.Commit; OVERRIDE;
  162.         PROCEDURE TGopherPasteCommand.UpdateViews;
  163.         END;         
  164.         
  165.     TGopherPrefs    = OBJECT (TPrefWindow)
  166.  
  167.             {Item view cluster - cItm }
  168.         fFont            : TPopup; {FONT}
  169.         fFSize        : TPopup; {pSIZ}
  170.         fFSizeNum    : TNumberText; {nSIZ}
  171.         fSmall        : TRadio; { rSML}
  172.         fMid            : TRadio; { rMID}
  173.         fBig            : TRadio; { rBIG}
  174.         fPath            : TCheckBox; { path}
  175.         fHost            : TCheckBox; { host}
  176.         fPort            : TCheckBox; { port}
  177.         fKind            : TCheckBox; { kind}
  178.         fDate            : TCheckBox; { date}
  179.         fDataSize    : TCheckBox; { size}
  180.             
  181.             {mapping}
  182.         fUseServerMap:  TCheckBox; {umap}
  183.         fEditServerMap:  TButton; {emap}
  184.         fEditGopherMap:  TButton; {gmap}
  185.         fUnknowns    : TCheckBox; { unkn}
  186.         fAllowLinkEdits    : TCheckBox; { edtl}
  187.  
  188.             {diggings folder}
  189.         fDigFolder    : TStaticText; {'tdig'}
  190.         fDigVol            : TNumberText; {'vdig'}
  191.         fDigDirID        : TNumberText; {'ddig'}
  192.         fFindDig        : TButton; {'bdig'}
  193.         fUseDig            : TCheckBox; {'digs'}
  194.         
  195.             {Text view cluster - ctxt }
  196.         fTFont            : TPopup; {TFNT}
  197.         fTFSize            : TPopup; {pTSZ}
  198.         fTFSizeNum    : TNumberText; {nTSZ}
  199.  
  200.             {Network cluster - cNet }
  201.         fPTimeout        : TPopup; {pTIM}
  202.         fNTimeout        : TNumberText; {nTIM}
  203.  
  204.             {default links cluster - cDLK }
  205.         fSaveDefLinks: TButton; {bSDL}
  206.         fRestoreDefLinks: TButton; {bRDL}
  207.         
  208.             {Item window cluster - cWND }
  209.         fWindRadio: TRadio; { rWND}
  210.         fWindClust: TCluster; { cWND}
  211.         fWindNum    : TNumberText; { nWND}
  212.  
  213.         fInitted    : Boolean;
  214.         
  215.         PROCEDURE TGopherPrefs.Initialize; OVERRIDE;
  216.         PROCEDURE TGopherPrefs.IGopherPrefs;
  217.         PROCEDURE TGopherPrefs.SetGlobals;
  218.         PROCEDURE TGopherPrefs.UpdateGopherDocs;
  219.         PROCEDURE TGopherPrefs.DoEvent(eventNumber: EventNumber; 
  220.                                             source: TEventHandler; event: TEvent); OVERRIDE; 
  221.         PROCEDURE TGopherPrefs.SetPrefID; OVERRIDE; 
  222.         END;
  223.         
  224.  
  225. VAR
  226.     gGopherHost        : Str255;
  227.     gGopherPort        : integer;
  228.     gGopherDocSig: OSType;
  229.     
  230. PROCEDURE InitializeGopher;
  231. PROCEDURE OpenGopher;
  232. PROCEDURE OpenGopherPrefs;
  233. FUNCTION AppFileToList( af: AppFile): TList;
  234.         
  235. IMPLEMENTATION
  236.  
  237.         {$I USeqGopher.inc.p}
  238.  
  239. END.
  240.